package com.hippo.core.core

import com.hippo.core.config.AppStoreKey
import com.hippo.core.core.manager.AppStore
import com.hippo.core.model.UserInfo

object UserManger {

    fun getToken():String?{
        return AppStore.readString(AppStoreKey.userToken)
    }

    fun saveToken(token:String){
        AppStore.save(AppStoreKey.userToken,token)
    }

    fun clearUserInfo(){
        AppStore.removeKey(AppStoreKey.userInfo)
        AppStore.removeKey(AppStoreKey.userToken)
    }

    fun isLogin(): Boolean {
        return AppStore.readParcelable(AppStoreKey.userInfo,UserInfo::class.java) != null
    }

    fun getUserInfo(): UserInfo? {
        return AppStore.readParcelable(AppStoreKey.userInfo,UserInfo::class.java)
    }

    fun updateUserInfo(userInfo: UserInfo?) {
        if (userInfo != null) {
            if(!userInfo.userToken.isNullOrBlank()){
                AppStore.save(AppStoreKey.userToken,userInfo.userToken)
            }
            AppStore.saveParcelable(AppStoreKey.userInfo,userInfo)
        }
    }


    fun saveUserInfo(userInfo: UserInfo?) {
        if (userInfo != null) {
            if(!userInfo.userToken.isNullOrBlank()){
                AppStore.save(AppStoreKey.userToken,userInfo.userToken)
            }
            AppStore.saveParcelable(AppStoreKey.userInfo,userInfo)
        }
    }

}